{{ repositoryName }} - PBIP Analysis

{{ statistics.total_tables }} tables Β· {{ statistics.total_measures }} measures Β· {{ statistics.total_relationships }} relationships Β· {{ statistics.total_pages }} pages Β· {{ statistics.total_visuals }} visuals

Tables

{{ statistics.total_tables }}

Measures

{{ statistics.total_measures }}

Columns

{{ statistics.total_columns }}

Relationships

{{ statistics.total_relationships }}

Model Information

Repository Path: {{ modelData.model_folder || 'Unknown' }}
Model Type: Power BI Semantic Model (PBIP Format)
Architecture: {{ modelArchitecture }}
Expressions: {{ modelData.expressions?.length || 0 }} M/Power Query expressions

πŸ“Š Key Insights

Table Distribution

{{ tableDistribution.fact }}% fact Β· {{ tableDistribution.dimension }}% dimension

Model Density

Avg {{ avgColumnsPerTable }} columns/table
Avg {{ avgMeasuresPerTable }} measures/table

Measure Coverage

{{ measureToColumnRatio }}:1 measure/column ratio
{{ measuresUsedPct }}% measures in use

Data Quality

{{ columnsUsedPct }}% columns referenced
{{ statistics.total_relationships }} active relationships

⚠️ Attention Required

  • {{ issue }}

πŸ’‘ Recommendations

  • {{ rec }}

πŸ₯ Model Health Summary

{{ healthSummary }}

Unused Objects: {{ statistics.unused_measures }} measures, {{ statistics.unused_columns }} columns
Model Complexity: {{ modelComplexity }}

Tables ({{ filteredTables.length }})

{{ table.name }}
{{ table.columns?.length || 0 }} columns Β· {{ table.measures?.length || 0 }} measures
{{ getTableType(table.name).toLowerCase() }} {{ getTableComplexity(table).replace('Complexity: ', '').toLowerCase() }}

{{ selectedTable.name }}

{{ getTableType(selectedTable.name) }} {{ getTableComplexity(selectedTable) }}
Columns
{{ selectedTable.columns?.length || 0 }}
Measures
{{ selectedTable.measures?.length || 0 }}
Relationships
{{ getTableRelationshipCount(selectedTable.name) }}
Usage
{{ getTableUsageCount(selectedTable.name) }}
{{ col.name }} Key Hidden
{{ col.data_type }}
Source: {{ col.source_column || '-' }}
No columns in this table
{{ measure.name }}
m Measure πŸ“ {{ measure.display_folder }} Hidden
No measures in this table

Incoming ({{ getTableRelationships(selectedTable.name).filter(r => r.to_table === selectedTable.name).length }})

{{ rel.from_table }} Active
[{{ rel.from_column_name }}] β†’ [{{ rel.to_column_name }}]

Outgoing ({{ getTableRelationships(selectedTable.name).filter(r => r.from_table === selectedTable.name).length }})

{{ rel.to_table }} Active
[{{ rel.from_column_name }}] β†’ [{{ rel.to_column_name }}]
No relationships for this table

Column Usage by Page

{{ col.name }} {{ getColumnVisualUsage(selectedTable.name, col.name).length }} visual(s)
πŸ“ Used in Measures
Measure {{ measure }}
πŸ“Š Used in Field Parameters
Field Param {{ fp }}
πŸ“ˆ Used in Visuals
πŸ“„ {{ pageName }} ({{ visuals.length }})
{{ usage.visualType }}
Not used in any measures, visuals, or field parameters
No columns in this table

Select a table from the left to view details

All Measures by Folder

πŸ“ {{ folderName || 'No Folder' }} ({{ folder.length }})
β–Ό
{{ measure.name }}
{{ measure.table }}

{{ selectedMeasure.name }}

{{ selectedMeasure.table }} Hidden {{ selectedMeasure.displayFolder }}

Select a measure from the left to view its DAX code

Relationships ({{ sortedRelationships.length }})

Fact-to-Dimension Relationships

{{ rel.from_table }} β†’ {{ rel.to_table }}
{{ rel.is_active !== false ? 'Active' : 'Inactive' }}
From: {{ rel.from_table }}[{{ rel.from_column }}]
To: {{ rel.to_table }}[{{ rel.to_column }}]
{{ formatCardinality(rel) }} {{ formatCrossFilterDirection(rel) }}
No fact-to-dimension relationships

Dimension-to-Dimension Relationships

{{ rel.from_table }} β†’ {{ rel.to_table }}
{{ rel.is_active !== false ? 'Active' : 'Inactive' }}
From: {{ rel.from_table }}[{{ rel.from_column }}]
To: {{ rel.to_table }}[{{ rel.to_column }}]
{{ formatCardinality(rel) }} {{ formatCrossFilterDirection(rel) }}
No dimension-to-dimension relationships

Other Relationships

{{ rel.from_table }} β†’ {{ rel.to_table }}
{{ rel.is_active !== false ? 'Active' : 'Inactive' }}
From: {{ rel.from_table }}[{{ rel.from_column }}]
To: {{ rel.to_table }}[{{ rel.to_column }}]
{{ formatCardinality(rel) }} {{ formatCrossFilterDirection(rel) }}
No other relationships
No relationships found in model

Pages ({{ reportData.pages?.length || 0 }})

{{ page.display_name || page.name }}
{{ getVisibleVisualCount(page.visuals) }} visuals

{{ selectedPage.display_name || selectedPage.name }}

Page Filters

{{ filter.field?.table }}[{{ filter.field?.name }}]
{{ visualType }} ({{ group.length }})
β–Ό
{{ visual.visual_name || visual.title || `${visualType} ${idx + 1}` }}
{{ visual.id?.substring(0, 8) }}...
Measures ({{ visual.fields.measures.length }})
{{ m.table }}[{{ m.measure }}]
Columns ({{ visual.fields.columns.length }})
{{ c.table }}[{{ c.column }}]

Select a page from the left to view visuals

Select Measure

πŸ“ {{ folderName || 'No Folder' }} ({{ folder.length }})
β–Ό
{{ measure.name }}
{{ measure.table }}

{{ selectedDependencyKey }}

Depends On ({{ currentDependencyDetails.dependsOn.length }})

Measure {{ dep }}
No dependencies

Used By ({{ currentDependencyDetails.usedBy.length }})

πŸ“ {{ folderName }} ({{ measures.length }})
β–Ό
Measure {{ measure }}
Not used by other measures

Used In Visuals ({{ currentDependencyDetails.visualUsage.length }})

πŸ“„ {{ pageName }} ({{ visuals.length }})
{{ usage.visualType }} {{ usage.visualName || 'Unnamed Visual' }}
Not used in any visuals

Select a measure from the left to view dependencies

Select Column

πŸ“Š {{ tableName }} ({{ columns.length }})
β–Ό
{{ column.name }}

{{ selectedColumnKey }}

Used By Field Parameters ({{ currentColumnDependencies.usedByFieldParams.length }})

Field Parameter {{ fieldParam }}
Not used by any field parameters

Used By Measures ({{ currentColumnDependencies.usedByMeasures.length }})

πŸ“ {{ folderName }} ({{ measures.length }})
Measure {{ measure }}
Not used by any measures

Used In Visuals ({{ currentColumnDependencies.visualUsage.length }})

πŸ“„ {{ pageName }} ({{ visuals.length }})
{{ usage.visualType }} {{ usage.visualName || 'Unnamed Visual' }}
Not used in any visuals

Select a column from the left to view usage

Select Measure

{{ folderName }} ({{ measures.length }})
β–Ό
{{ measure.name }}
{{ measure.table }}
Base Chain: {{ measure.chainDepth }} Used by {{ measure.usedByCount }} {{ measure.visualCount }} visual(s)

Complete Measure Chain

SELECTED MEASURE
{{ selectedChainMeasure }}
⬆️ USED BY CHAIN ({{ currentChain.usedByCount }} total measure(s) in chain)
β†’
{{ item.measure }}
β‡’
{{ child.measure }}
⇛
{{ grandchild.measure }}
... and {{ grandchild.usedBy.length }} more level(s)
⬆️ USED BY
No other measures depend on this measure
⬇️ DEPENDS ON (This measure uses {{ currentChain.dependencies.length }} measure(s))
{{ dep }}
⬇️ DEPENDS ON
🟒 BASE MEASURE
This measure doesn't depend on any other measures

Select a measure from the left to view its complete dependency chain

Select Page & Visual

{{ visual.visualType }}
{{ visual.visualName || 'Unnamed Visual' }}
{{ visual.measureCount }} measure(s)
Select a page to view its visuals

Visual Measure Trace

{{ currentVisualAnalysis.visualType }} {{ currentVisualAnalysis.visualName || 'Unnamed Visual' }}
Page: {{ selectedVisualPage }}
πŸ“Š Measures Used in Visual ({{ currentVisualAnalysis.topMeasures.length }})
{{ measure.name }}
{{ measure.table }}
⬇️ Depends on:
{{ dep.name }}
{{ dep.table }}
⬇️ Base:
{{ baseDep.name }}
{{ baseDep.table }}
Base Measure
🟒 Base Measure

πŸ“‹ Summary

Total Measures
{{ currentVisualAnalysis.summary.totalMeasures }}
Direct Dependencies
{{ currentVisualAnalysis.summary.directDeps }}
Base Measures
{{ currentVisualAnalysis.summary.baseMeasures }}

Select a page and visual from the left to trace measure dependencies

Field Parameters

Info: Found {{ fieldParametersList.length }} field parameter(s) in the model.
{{ fp.name }} {{ fp.table }}

Referenced Columns ({{ fp.columns.length }}):

{{ col }}
No columns referenced
No field parameters found in the model.

Unused Measures

Warning: Found {{ dependencies.unused_measures.length }} measures not used anywhere.
{{ folderName }} ({{ measures.length }})
β–Ό
{{ measure }}
βœ“ All measures are in use!

Unused Columns

Warning: Found {{ dependencies.unused_columns.length }} columns not used anywhere.
{{ tableName }} ({{ columns.length }})
β–Ό
{{ column }}
βœ“ All columns are in use!

Best Practice Analysis

Analysis based on Microsoft Power BI Best Practices

Total Violations

{{ bpaTotalViolations }}

Errors

{{ bpaErrorCount }}

Warnings

{{ bpaWarningCount }}

Info

{{ bpaInfoCount }}

Violations by Category

{{ category }}
{{ count }}

Violations by Object Type

{{ objectType }} ({{ bpaViolationsByObjectType[objectType].length }})
No violations found matching your filters

Naming Convention Violations

βœ…

All naming conventions followed!

No violations found

Total Violations

{{ namingViolationsCount }}

Warnings

{{ namingSummary.by_severity?.WARNING || 0 }}

Info

{{ namingSummary.by_severity?.INFO || 0 }}

Severity Type Object Type Table Object Issue Current Name
{{ violation.severity }} {{ violation.type }} {{ violation.object_type }} {{ violation.table }} {{ violation.object }} {{ violation.issue }} {{ violation.current_name }}
No violations match your filters

Data Quality Analysis

Data type optimization and cardinality warnings

Data Type Distribution

{{ type }} {{ count }}

Quality Metrics

Data Type Issues

{{ dataTypeIssues.length }}

High-Impact Issues

{{ dataTypeHighImpactCount }}

Data Type Optimization Opportunities

Table Column Current Type Issue Recommendation Impact
{{ issue.table }} {{ issue.column }} {{ issue.current_type }} {{ issue.issue }} {{ issue.recommendation }} {{ issue.impact }}
No data type issues found

High Cardinality Warnings

Note: High cardinality columns can impact performance and memory usage. Consider hiding or pre-aggregating these columns.
Table Column Reason Is Hidden Recommendation
{{ warning.table }} {{ warning.column }} {{ warning.reason }} {{ warning.is_hidden ? 'βœ“ Yes' : 'βœ— No' }} {{ warning.recommendation }}

DAX Code Quality Analysis

Complexity metrics and anti-pattern detection

Total Measures

{{ daxSummary.total_measures || 0 }}

Avg Complexity

{{ daxSummary.avg_complexity || 0 }}

High Complexity

{{ daxSummary.high_complexity_measures || 0 }}

Total Issues

{{ daxQualityIssues.length }}

Code Quality Issues

Severity Type {{ daxQualitySortDesc ? 'β–Ό' : 'β–²' }} Table {{ daxQualitySortDesc ? 'β–Ό' : 'β–²' }} Measure {{ daxQualitySortDesc ? 'β–Ό' : 'β–²' }} Issue Recommendation Complexity {{ daxQualitySortDesc ? 'β–Ό' : 'β–²' }}
No code quality issues found

Column Lineage & Impact Analysis

Track column usage and impact across the model

Total Columns

{{ Object.keys(columnLineage).length }}

Orphan Columns

{{ orphanColumnsCount }}

Calculated Columns

{{ calculatedColumnsCount }}

High Usage

{{ highUsageColumnsCount }}

Column Impact Analysis

Table {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} Column {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} Type {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} Data Type {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} In Measures {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} In Relationships {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} In Visuals {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} Usage Score {{ lineageSortDesc ? 'β–Ό' : 'β–²' }} Status {{ lineageSortDesc ? 'β–Ό' : 'β–²' }}
{{ lineage.table }} {{ lineage.column }} Calculated Physical {{ lineage.data_type }} {{ lineage.used_in_measures?.length || 0 }} {{ lineage.used_in_relationships?.length || 0 }} {{ lineage.used_in_visuals?.length || 0 }} {{ lineage.usage_score }} Orphan In Use
No columns match the current filter

Perspectives Analysis

Object visibility and perspective usage

πŸ‘οΈ

No Perspectives Defined

{{ perspectivesData.message }}

Total Perspectives

{{ perspectivesCount }}

Unused Perspectives

{{ perspectivesData.unused_perspectives?.length || 0 }}

Active Perspectives

{{ perspectivesCount - (perspectivesData.unused_perspectives?.length || 0) }}

Perspective Details

{{ perspective.name }}

UNUSED ACTIVE

Tables

{{ perspective.table_count }}

Columns

{{ perspective.column_count }}

Measures

{{ perspective.measure_count }}

Total Objects

{{ perspective.total_objects }}

{{ cmd.name }}
{{ cmd.description }}